package com.giCompiler.business;

import java.util.ArrayList;
import java.util.List;

import com.giCompiler.bean.VinculoUsuarioProjeto;
import com.giCompiler.dao.VinculoUsuarioProjetoDao;
import com.giCompiler.exception.BusinessException;

public class ExcluirUsuarioProjetoBusiness {

    public void excluirUsuarioProjetoBusiness(int idUsuario, int idProjeto, int idUsuarioLogado) throws BusinessException{
        
        VinculoUsuarioProjeto vup = new VinculoUsuarioProjeto();
        int permissao = pergarPermissaoUsuario(idUsuarioLogado, idProjeto);
        
        vup = pegarVup(idUsuario, idProjeto);
        
        if(permissao == 5){
	        if(vup != null){
                if(idUsuario != idUsuarioLogado){
                
                    new VinculoUsuarioProjetoDao().excluir(vup);
                
                }else{                                
                    System.out.println("O usuario não tem permissão para executar está tarefa!");
                    throw new BusinessException("O usuario não tem permissão para executar está tarefa!");        
                        
                }
	        }else{	                                                
                System.out.println("Não foi possivel encontrar a vinculação!");
                throw new BusinessException("Não foi possivel encontrar a vinculação!");   
	        }                               
        }else{                
        	System.out.println("O usuario não tem permissão para executar está tarefa!");
        	throw new BusinessException("O usuario não tem permissão para executar está tarefa!");                
        }        
    }

	public int pergarPermissaoUsuario(int idUsuario, int idProjeto){
		
		List<VinculoUsuarioProjeto> vups = new ArrayList<VinculoUsuarioProjeto>();
		
		VinculoUsuarioProjetoDao vupd = new VinculoUsuarioProjetoDao();
		vups = vupd.pegarVup(idUsuario, idProjeto);
		
		if(vups.isEmpty())
			return -1;
		else
			return vups.get(0).getPermissao();
		
	}
	
    public VinculoUsuarioProjeto pegarVup(int idUsuario, int idProjeto){
        
        List<VinculoUsuarioProjeto> vups = new ArrayList<VinculoUsuarioProjeto>();
        VinculoUsuarioProjetoDao vupDao = new VinculoUsuarioProjetoDao();
  
        vups = vupDao.pegarVup(idUsuario, idProjeto);
        
        if(vups.isEmpty())
        	return null;
        else
            return vups.get(0);
        
    }
}
